const express = require("express");

const ejs = require("ejs");

const app = express();

/**
 * 这是一个小技巧，看着 .ejs 的后缀总觉得不爽，
 * 使用如下方法，可以将模板文件的后缀换成我们习惯的.html。
 *
 * 1. 在 app.js 的头上定义 ejs:，代码如下：
 *
 * var ejs = require('ejs');
 *
 * 2. 注册 html 模板引擎代码如下：
 *
 * app.engine('html',ejs.__express);
 *
 * 3. 将模板引擎换成 html 代码如下:
 *
 * app.set('view engine', 'html');
 *
 * 4. 修改模板文件的后缀为.html。
 */

app.engine("html", ejs.__express);

// 配置模板引擎
app.set("view engine", "html");

// 配置静态资源目录
app.use(express.static("static"));

app.get("/", (req, res) => {
  res.render("index", { title: "HTML模板引擎" });
});

app.get("/news", (req, res) => {
    let userInfo = {
        name: "张三",
        age: 18,
        hobbies: ["篮球", "足球", "游泳"],
        address: {
            city: "北京",
            street: "朝阳区"
        }
    };

    let article = {
        title: "<h3>EJS模板引擎</h3>",
        content: "<p>这是一个关于EJS模板引擎的文章内容。</p>"
    };

    res.render("news", { userInfo, article });
});


// 监听端口  端口号建议写成 3000 以上
app.listen(3000, () => {
  console.log("Server is running on http://localhost:3000");
});